import json
import time

CONFIGS={}
CHECKED={}

def get_config(conn,type,component,wait=1):
    key='config:%s:%s'%(type,component)
    #检查是否需要对这个组件的信息进行更新
    if CHECKED.get(key)<time.time()-wait:
        #有需要对配置进行更新，记录最后一次检查这个连接的时间
        CHECKED[key]=time.time()
        #取得Redis存储的组件配置
        config=json.loads(conn.get(key) or '{}')
        #将潜在的Unicode关键字参数转换为字符串的关键字参数
        config=dict((str(k),config[k]) for k in config)
        #取得组件正在使用的配置
        old_cofig=CONFIGS.get(key)
        #如果两个配置并不相同
        if config!=old_cofig:
            #那么对组件的配置进行更新
            CONFIGS[key]=config

    return CONFIGS.get(key)
